<template lang='pug'>

</template>
<script>
import { imageMaterial } from '../material/imagematerial'
export default {
    name: 'c_tech_wall',
    data() {
        return {
            viewer:null,
            Cesium:null,
            gp_tech_wall:null
        }
    },
    props: {
        arrda: {
            type:Array,
            default:[]
        }
    },
    watch: {
        arrda: {
            handler(){
                if(this.Cesium && this.viewer)this.load()
            }
        },
        deep: true,
    },
    mounted () {
        let t=this
        t.$nextTick(()=>{
            t.viewer=t.$parent.viewer
            t.Cesium=t.$parent.Cesium
            let {Cesium,viewer} =this
            t.gp_tech_wall=new Cesium.CustomDataSource("tech_wall")
            viewer.dataSources.add(t.gp_tech_wall)
            t.load()
        })
    },
    methods:{
        load() {
            let t=this
            let {Cesium,viewer} =this   
            t.gp_tech_wall.entities.removeAll()
            t.arrda.forEach(opt => {
                let color= opt.color||Cesium.Color.RED
                let type=opt.type||'wall' //''贴地' ground,water,wall,heatmap
                let name=`tech_wall_${type}`,wall={},ploygon={}
                if(type=='water')color=Cesium.Color.RED

                t.gp_tech_wall.entities.add({name,wall,ploygon})

                // t.gp_tech_wall.entities.add({
                //     name,
                //     wall:{
                //         positions: Cesium.Cartesian3.fromDegreesArrayHeights(opt.positions),
                //         //简单
                //         // material : color.withAlpha(alp),
                //         //-----------------------材质1
                //         material :new Cesium.ColorMaterialProperty(
                //             new Cesium.CallbackProperty(function(time, x) {
                //             var alp = 0.5 * Math.abs(Math.sin(new Date().getTime() / 500)) +0.2
                //             return color.withAlpha(alp)
                //         }, false))
                //         //-----------------------------特效2
                //         // maximumHeights: new Array(opt.positions.length).fill(100),
                //         // minimunHeights: new Array(opt.positions.length).fill(0),
                //         // material: new Cesium.DynamicWallMaterialProperty({
                //         //     color: Cesium.Color.fromBytes(55, 96, 56).withAlpha(0.7),
                //         //     duration: 3000
                //         // }),
                //     }
                // })
            })
        }
    }
}
</script>